Drop GtkRadioButton
authorMatthias Clasen <mclasen@redhat.com>
Mon, 31 Aug 2020 02:25:36 +0000 (22:25 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 31 Aug 2020 02:25:36 +0000 (22:25 -0400)
12 files changed:
docs/reference/gtk/gtk4-docs.xml
docs/reference/gtk/gtk4-sections.txt
docs/reference/gtk/gtk4.types.in
docs/reference/gtk/images/radio-group.png [deleted file]
docs/reference/gtk/meson.build
docs/reference/gtk/section-accessibility.md
docs/reference/gtk/visual_index.xml
gtk/gtk-autocleanups.h
gtk/gtk.h
gtk/gtkradiobutton.c [deleted file]
gtk/gtkradiobutton.h [deleted file]
gtk/meson.build

index f65688b0fd57b5d474139c8b4218cb85fbd05c8c..62380e2ad8dad7b9dac77269d6a1c254cebfc91b 100644 (file)
       <title>Buttons and Toggles</title>
       <xi:include href="xml/gtkbutton.xml" />
       <xi:include href="xml/gtkcheckbutton.xml" />
-      <xi:include href="xml/gtkradiobutton.xml" />
       <xi:include href="xml/gtktogglebutton.xml" />
       <xi:include href="xml/gtklinkbutton.xml" />
       <xi:include href="xml/gtkmenubutton.xml" />
index 8083e9aada72f12f77deb999747fa93f875cbadd..1ec07553d8409e2294a18773d80bff7fadd3adc5 100644 (file)
@@ -2290,31 +2290,6 @@ GtkProgressBarPrivate
 gtk_progress_bar_get_type
 </SECTION>
 
-<SECTION>
-<FILE>gtkradiobutton</FILE>
-<TITLE>GtkRadioButton</TITLE>
-GtkRadioButton
-gtk_radio_button_new
-gtk_radio_button_new_from_widget
-gtk_radio_button_new_with_label
-gtk_radio_button_new_with_label_from_widget
-gtk_radio_button_new_with_mnemonic
-gtk_radio_button_new_with_mnemonic_from_widget
-gtk_radio_button_set_group
-gtk_radio_button_get_group
-gtk_radio_button_join_group
-<SUBSECTION Standard>
-GTK_RADIO_BUTTON
-GTK_IS_RADIO_BUTTON
-GTK_TYPE_RADIO_BUTTON
-GTK_RADIO_BUTTON_CLASS
-GTK_IS_RADIO_BUTTON_CLASS
-GTK_RADIO_BUTTON_GET_CLASS
-<SUBSECTION Private>
-GtkRadioButtonPrivate
-gtk_radio_button_get_type
-</SECTION>
-
 <SECTION>
 <FILE>gtkrange</FILE>
 <TITLE>GtkRange</TITLE>
index cede3f0619077d38639d7fd5e825c0baf45e9782..5981ffb89736d0988af3ae9b4f380813c6ca1e7d 100644 (file)
@@ -179,7 +179,6 @@ gtk_print_settings_get_type
 @DISABLE_ON_W32@gtk_print_unix_dialog_get_type
 gtk_progress_bar_get_type
 gtk_property_expression_get_type
-gtk_radio_button_get_type
 gtk_range_get_type
 gtk_recent_manager_get_type
 gtk_revealer_get_type
diff --git a/docs/reference/gtk/images/radio-group.png b/docs/reference/gtk/images/radio-group.png
deleted file mode 100644 (file)
index da6245f..0000000
Binary files a/docs/reference/gtk/images/radio-group.png and /dev/null differ
index 431192c2c65050608150bdb923647e5a5bdb7f86..4441cc2cf45d70b1359204e1c9c2d84b1f237e9e 100644 (file)
@@ -340,7 +340,6 @@ images = [
   'images/popup-slide.png',
   'images/printdialog.png',
   'images/progressbar.png',
-  'images/radio-group.png',
   'images/right-center.png',
   'images/right-end.png',
   'images/right-start.png',
index 4c0a4292700717a2e48b189629f81b9b183cbd77..ade43a1bfa793ed2b2bb66acbb582a204fd934ec 100644 (file)
@@ -53,7 +53,7 @@ Each role name is part of the #GtkAccessibleRole enumeration.
 | `LABEL` | A visible name or caption for a user interface component | #GtkLabel |
 | `METER` | Represents a value within a known range | #GtkLevelBar |
 | `PROGRESS_BAR` | An element that display progress | #GtkProgressBar |
-| `RADIO` | A checkable input in a group of radio roles | #GtkRadioButton |
+| `RADIO` | A checkable input in a group of radio roles | #GtkCheckButton |
 | `SCROLLBAR` | A graphical object controlling the scrolling of content | #GtkScrollbar |
 | `SEARCH_BOX` | A text box for entering search criteria | #GtkSearchEntry |
 | `SEPARATOR` | A divider that separates sections of content or groups of items | #GtkSeparator |
index f5e027ed0b4743b7a175a50b54d4a95c03e0c914..963febf68b4016cd4cc57ba739f83595c6521557 100644 (file)
    <link linkend="GtkVolumeButton">
       <inlinegraphic fileref="volumebutton.png" format="PNG"></inlinegraphic>
     </link>
-    <link linkend="GtkRadioButton">
-      <inlinegraphic fileref="radio-group.png" format="PNG"></inlinegraphic>
-    </link>
     <link linkend="GtkFileChooserButton">
       <inlinegraphic fileref="file-button.png" format="PNG"></inlinegraphic>
     </link>
index b5689b9075a6224abcbbeab383a11ab973c56924..eb4fb1b874e40705aa231bfa02f69dbc920ad5f4 100644 (file)
@@ -120,7 +120,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPrintOperation, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPrintOperationPreview, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPrintSettings, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkProgressBar, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRadioButton, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRange, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRecentManager, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRevealer, g_object_unref)
index 4819d51756d1969ddf7986c97a4ca0f289507ed7..be942b218b1b6a320c493505533cde474caabb3e 100644 (file)
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
 #include <gtk/gtkprintoperationpreview.h>
 #include <gtk/gtkprintsettings.h>
 #include <gtk/gtkprogressbar.h>
-#include <gtk/gtkradiobutton.h>
 #include <gtk/gtkrange.h>
 #include <gtk/gtkrecentmanager.h>
 #include <gtk/gtkrender.h>
diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c
deleted file mode 100644 (file)
index 1ee6638..0000000
+++ /dev/null
@@ -1,670 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
- */
-
-#include "config.h"
-
-#include "gtkradiobutton.h"
-
-#include "gtkwidgetprivate.h"
-#include "gtklabel.h"
-#include "gtkmarshalers.h"
-#include "gtkprivate.h"
-#include "gtkintl.h"
-#include "gtkstylecontextprivate.h"
-
-/**
- * SECTION:gtkradiobutton
- * @Short_description: A choice from multiple check buttons
- * @Title: GtkRadioButton
- * @See_also: #GtkComboBox
- *
- * A single radio button performs the same basic function as a #GtkToggleButton,
- * as its position in the object hierarchy reflects. It is only when multiple
- * radio buttons are grouped together that they become a different user
- * interface component in their own right.
- *
- * Every radio button is a member of some group of radio buttons. When one is
- * selected, all other radio buttons in the same group are deselected. A
- * #GtkRadioButton is one way of giving the user a choice from many options.
- *
- * Radio button widgets are created with gtk_radio_button_new(), passing %NULL
- * as the argument if this is the first radio button in a group. In subsequent
- * calls, the group you wish to add this button to should be passed as an
- * argument. Optionally, gtk_radio_button_new_with_label() can be used if you
- * want a text label on the radio button.
- *
- * Alternatively, when adding widgets to an existing group of radio buttons,
- * use gtk_radio_button_new_from_widget() with a #GtkRadioButton that already
- * has a group assigned to it. The convenience function
- * gtk_radio_button_new_with_label_from_widget() is also provided.
- *
- * To retrieve the group a #GtkRadioButton is assigned to, use
- * gtk_radio_button_get_group().
- *
- * To remove a #GtkRadioButton from one group and make it part of a new one,
- * use gtk_radio_button_set_group().
- *
- * The group list does not need to be freed, as each #GtkRadioButton will remove
- * itself and its list item when it is destroyed.
- *
- * ## How to create a group of two radio buttons.
- *
- * |[<!-- language="C" -->
- * void create_radio_buttons (void) {
- *
- *    GtkWidget *window, *radio1, *radio2, *box, *entry;
- *    window = gtk_window_new ();
- *    box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
- *    gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
- *
- *    // Create a radio button with a GtkEntry widget
- *    radio1 = gtk_radio_button_new (NULL);
- *    entry = gtk_entry_new ();
- *    gtk_box_append (GTK_BOX (radio1), entry);
- *
- *
- *    // Create a radio button with a label
- *    radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
- *                                                          "I’m the second radio button.");
- *
- *    // Pack them into a box, then show all the widgets
- *    gtk_box_append (GTK_BOX (box), radio1);
- *    gtk_box_append (GTK_BOX (box), radio2);
-      gtk_window_set_child (GTK_WINDOW (window),box);
- *    gtk_widget_show (window);
- *    return;
- * }
- * ]|
- *
- * When an unselected button in the group is clicked the clicked button
- * receives the #GtkToggleButton::toggled signal, as does the previously
- * selected button.
- * Inside the #GtkToggleButton::toggled handler, gtk_toggle_button_get_active()
- * can be used to determine if the button has been selected or deselected.
- *
- * # CSS nodes
- *
- * |[<!-- language="plain" -->
- * radiobutton
- * ├── radio
- * ╰── <child>
- * ]|
- *
- * A GtkRadioButton with indicator (see gtk_check_button_set_draw_indicator())) has a
- * main CSS node with name radiobutton and a subnode with name radio.
- *
- * |[<!-- language="plain" -->
- * button.radio
- * ├── radio
- * ╰── <child>
- * ]|
- *
- * A GtkRadioButton without indicator changes the name of its main node
- * to button and adds a .radio style class to it. The subnode is invisible
- * in this case.
- *
- * # Accessibility
- *
- * GtkRadioButton uses the #GTK_ACCESSIBLE_ROLE_RADIO role.
- */
-
-typedef struct _GtkRadioButtonClass         GtkRadioButtonClass;
-
-struct _GtkRadioButton
-{
-  GtkToggleButton parent_instance;
-};
-
-struct _GtkRadioButtonClass
-{
-  GtkToggleButtonClass parent_class;
-
-  void (*group_changed) (GtkRadioButton *radio_button);
-};
-
-typedef struct
-{
-  GSList *group;
-} GtkRadioButtonPrivate;
-
-enum {
-  PROP_0,
-  PROP_GROUP,
-  LAST_PROP
-};
-
-enum {
-  GROUP_CHANGED,
-  N_SIGNALS
-};
-
-static GParamSpec *radio_button_props[LAST_PROP] = { NULL, };
-static guint signals[N_SIGNALS] = { 0 };
-
-static void     gtk_radio_button_dispose        (GObject             *object);
-static void     gtk_radio_button_clicked        (GtkButton           *button);
-
-G_DEFINE_TYPE_WITH_PRIVATE (GtkRadioButton, gtk_radio_button, GTK_TYPE_TOGGLE_BUTTON)
-
-static void
-gtk_radio_button_set_property (GObject      *object,
-                               guint         prop_id,
-                               const GValue *value,
-                               GParamSpec   *pspec)
-{
-  GtkRadioButton *radio_button;
-
-  radio_button = GTK_RADIO_BUTTON (object);
-
-  switch (prop_id)
-    {
-      GSList *slist;
-      GtkRadioButton *button;
-
-    case PROP_GROUP:
-        button = g_value_get_object (value);
-
-      if (button)
-        slist = gtk_radio_button_get_group (button);
-      else
-        slist = NULL;
-      gtk_radio_button_set_group (radio_button, slist);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_radio_button_get_property (GObject    *object,
-                               guint       prop_id,
-                               GValue     *value,
-                               GParamSpec *pspec)
-{
-  switch (prop_id)
-    {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_radio_button_class_init (GtkRadioButtonClass *class)
-{
-  GObjectClass *gobject_class;
-  GtkButtonClass *button_class;
-  GtkWidgetClass *widget_class;
-
-  gobject_class = G_OBJECT_CLASS (class);
-  widget_class = (GtkWidgetClass*) class;
-  button_class = (GtkButtonClass*) class;
-
-  gobject_class->dispose = gtk_radio_button_dispose;
-  gobject_class->set_property = gtk_radio_button_set_property;
-  gobject_class->get_property = gtk_radio_button_get_property;
-
-  /**
-   * GtkRadioButton:group:
-   *
-   * Sets a new group for a radio button.
-   */
-  radio_button_props[PROP_GROUP] =
-      g_param_spec_object ("group",
-                           P_("Group"),
-                           P_("The radio button whose group this widget belongs to."),
-                           GTK_TYPE_RADIO_BUTTON,
-                           GTK_PARAM_WRITABLE);
-
-  g_object_class_install_properties (gobject_class, LAST_PROP, radio_button_props);
-
-  button_class->clicked = gtk_radio_button_clicked;
-
-  class->group_changed = NULL;
-
-  /**
-   * GtkRadioButton::group-changed:
-   * @button: the object which received the signal
-   *
-   * Emitted when the group of radio buttons that a radio button belongs
-   * to changes. This is emitted when a radio button switches from
-   * being alone to being part of a group of 2 or more buttons, or
-   * vice-versa, and when a button is moved from one group of 2 or
-   * more buttons to a different one, but not when the composition
-   * of the group that a button belongs to changes.
-   */
-  signals[GROUP_CHANGED] = g_signal_new (I_("group-changed"),
-                                         G_OBJECT_CLASS_TYPE (gobject_class),
-                                         G_SIGNAL_RUN_FIRST,
-                                         G_STRUCT_OFFSET (GtkRadioButtonClass, group_changed),
-                                         NULL, NULL,
-                                         NULL,
-                                         G_TYPE_NONE, 0);
-
-  gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_RADIO);
-}
-
-static void
-gtk_radio_button_init (GtkRadioButton *self)
-{
-  GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (self);
-  GtkWidget *widget = GTK_WIDGET (self);
-
-  gtk_widget_set_receives_default (widget, FALSE);
-
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self), TRUE);
-
-  priv->group = g_slist_prepend (NULL, self);
-}
-
-/**
- * gtk_radio_button_set_group:
- * @radio_button: a #GtkRadioButton.
- * @group: (element-type GtkRadioButton) (allow-none): an existing radio
- *     button group, such as one returned from gtk_radio_button_get_group(), or %NULL.
- *
- * Sets a #GtkRadioButton’s group. It should be noted that this does not change
- * the layout of your interface in any way, so if you are changing the group,
- * it is likely you will need to re-arrange the user interface to reflect these
- * changes.
- */
-void
-gtk_radio_button_set_group (GtkRadioButton *radio_button,
-                           GSList         *group)
-{
-  GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button);
-  GtkWidget *old_group_singleton = NULL;
-  GtkWidget *new_group_singleton = NULL;
-
-  g_return_if_fail (GTK_IS_RADIO_BUTTON (radio_button));
-
-  if (g_slist_find (group, radio_button))
-    return;
-
-  if (priv->group)
-    {
-      GSList *slist;
-
-      priv->group = g_slist_remove (priv->group, radio_button);
-
-      if (priv->group && !priv->group->next)
-       old_group_singleton = g_object_ref (priv->group->data);
-
-      for (slist = priv->group; slist; slist = slist->next)
-        {
-          GtkRadioButton *tmp_button = slist->data;
-          GtkRadioButtonPrivate *tmp_priv = gtk_radio_button_get_instance_private (tmp_button);
-
-          tmp_priv->group = priv->group;
-        }
-    }
-  
-  if (group && !group->next)
-    new_group_singleton = g_object_ref (group->data);
-
-  priv->group = g_slist_prepend (group, radio_button);
-
-  if (group)
-    {
-      GSList *slist;
-      
-      for (slist = group; slist; slist = slist->next)
-        {
-          GtkRadioButton *tmp_button = slist->data;
-          GtkRadioButtonPrivate *tmp_priv = gtk_radio_button_get_instance_private (tmp_button);
-
-          tmp_priv->group = priv->group;
-        }
-    }
-
-  g_object_ref (radio_button);
-  
-  g_object_notify_by_pspec (G_OBJECT (radio_button), radio_button_props[PROP_GROUP]);
-  g_signal_emit (radio_button, signals[GROUP_CHANGED], 0);
-  if (old_group_singleton)
-    {
-      g_signal_emit (old_group_singleton, signals[GROUP_CHANGED], 0);
-      g_object_unref (old_group_singleton);
-    }
-  if (new_group_singleton)
-    {
-      g_signal_emit (new_group_singleton, signals[GROUP_CHANGED], 0);
-      g_object_unref (new_group_singleton);
-    }
-
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_button), group == NULL);
-
-  g_object_unref (radio_button);
-}
-
-/**
- * gtk_radio_button_join_group:
- * @radio_button: the #GtkRadioButton object
- * @group_source: (allow-none): a radio button object whose group we are 
- *   joining, or %NULL to remove the radio button from its group
- *
- * Joins a #GtkRadioButton object to the group of another #GtkRadioButton object
- *
- * Use this in language bindings instead of the gtk_radio_button_get_group() 
- * and gtk_radio_button_set_group() methods
- *
- * A common way to set up a group of radio buttons is the following:
- * |[<!-- language="C" -->
- *   GtkRadioButton *radio_button;
- *   GtkRadioButton *last_button;
- *
- *   while (some_condition)
- *     {
- *        radio_button = GTK_RADIO_BUTTON (gtk_radio_button_new (NULL));
- *
- *        gtk_radio_button_join_group (radio_button, last_button);
- *        last_button = radio_button;
- *     }
- * ]|
- */
-void
-gtk_radio_button_join_group (GtkRadioButton *radio_button, 
-                            GtkRadioButton *group_source)
-{
-  g_return_if_fail (GTK_IS_RADIO_BUTTON (radio_button));
-  g_return_if_fail (group_source == NULL || GTK_IS_RADIO_BUTTON (group_source));
-
-  if (group_source)
-    {
-      GSList *group;
-      group = gtk_radio_button_get_group (group_source);
-
-      if (!group)
-        {
-          /* if we are not already part of a group we need to set up a new one
-             and then get the newly created group */
-          gtk_radio_button_set_group (group_source, NULL);
-          group = gtk_radio_button_get_group (group_source);
-        }
-
-      gtk_radio_button_set_group (radio_button, group);
-    }
-  else
-    {
-      gtk_radio_button_set_group (radio_button, NULL);
-    }
-}
-
-/**
- * gtk_radio_button_new:
- * @group: (element-type GtkRadioButton) (allow-none): an existing
- *         radio button group, or %NULL if you are creating a new group.
- *
- * Creates a new #GtkRadioButton. To be of any practical value, a widget should
- * then be packed into the radio button.
- *
- * Returns: a new radio button
- */
-GtkWidget*
-gtk_radio_button_new (GSList *group)
-{
-  GtkRadioButton *radio_button;
-
-  radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, NULL);
-
-  if (group)
-    gtk_radio_button_set_group (radio_button, group);
-
-  return GTK_WIDGET (radio_button);
-}
-
-/**
- * gtk_radio_button_new_with_label:
- * @group: (element-type GtkRadioButton) (allow-none): an existing
- *         radio button group, or %NULL if you are creating a new group.
- * @label: the text label to display next to the radio button.
- *
- * Creates a new #GtkRadioButton with a text label.
- *
- * Returns: a new radio button.
- */
-GtkWidget*
-gtk_radio_button_new_with_label (GSList      *group,
-                                const char *label)
-{
-  GtkWidget *radio_button;
-
-  radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, "label", label, NULL) ;
-
-  if (group)
-    gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_button), group);
-
-  return radio_button;
-}
-
-
-/**
- * gtk_radio_button_new_with_mnemonic:
- * @group: (element-type GtkRadioButton) (allow-none): the radio button
- *         group, or %NULL
- * @label: the text of the button, with an underscore in front of the
- *         mnemonic character
- *
- * Creates a new #GtkRadioButton containing a label, adding it to the same
- * group as @group. The label will be created using
- * gtk_label_new_with_mnemonic(), so underscores in @label indicate the
- * mnemonic for the button.
- *
- * Returns: a new #GtkRadioButton
- */
-GtkWidget*
-gtk_radio_button_new_with_mnemonic (GSList      *group,
-                                   const char *label)
-{
-  GtkWidget *radio_button;
-
-  radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, 
-                              "label", label, 
-                              "use-underline", TRUE, 
-                              NULL);
-
-  if (group)
-    gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_button), group);
-
-  return radio_button;
-}
-
-/**
- * gtk_radio_button_new_from_widget: (constructor)
- * @radio_group_member: (allow-none): an existing #GtkRadioButton.
- *
- * Creates a new #GtkRadioButton, adding it to the same group as
- * @radio_group_member. As with gtk_radio_button_new(), a widget
- * should be packed into the radio button.
- *
- * Returns: (transfer none): a new radio button.
- */
-GtkWidget*
-gtk_radio_button_new_from_widget (GtkRadioButton *radio_group_member)
-{
-  GSList *l = NULL;
-  if (radio_group_member)
-    l = gtk_radio_button_get_group (radio_group_member);
-  return gtk_radio_button_new (l);
-}
-
-/**
- * gtk_radio_button_new_with_label_from_widget: (constructor)
- * @radio_group_member: (allow-none): widget to get radio group from or %NULL
- * @label: a text string to display next to the radio button.
- *
- * Creates a new #GtkRadioButton with a text label, adding it to
- * the same group as @radio_group_member.
- *
- * Returns: (transfer none): a new radio button.
- */
-GtkWidget*
-gtk_radio_button_new_with_label_from_widget (GtkRadioButton *radio_group_member,
-                                            const char     *label)
-{
-  GSList *l = NULL;
-  if (radio_group_member)
-    l = gtk_radio_button_get_group (radio_group_member);
-  return gtk_radio_button_new_with_label (l, label);
-}
-
-/**
- * gtk_radio_button_new_with_mnemonic_from_widget: (constructor)
- * @radio_group_member: (allow-none): widget to get radio group from or %NULL
- * @label: the text of the button, with an underscore in front of the
- *         mnemonic character
- *
- * Creates a new #GtkRadioButton containing a label. The label
- * will be created using gtk_label_new_with_mnemonic(), so underscores
- * in @label indicate the mnemonic for the button.
- *
- * Returns: (transfer none): a new #GtkRadioButton
- **/
-GtkWidget*
-gtk_radio_button_new_with_mnemonic_from_widget (GtkRadioButton *radio_group_member,
-                                               const char     *label)
-{
-  GSList *l = NULL;
-  if (radio_group_member)
-    l = gtk_radio_button_get_group (radio_group_member);
-  return gtk_radio_button_new_with_mnemonic (l, label);
-}
-
-
-/**
- * gtk_radio_button_get_group:
- * @radio_button: a #GtkRadioButton.
- *
- * Retrieves the group assigned to a radio button.
- *
- * Returns: (element-type GtkRadioButton) (transfer none): a linked list
- * containing all the radio buttons in the same group
- * as @radio_button. The returned list is owned by the radio button
- * and must not be modified or freed.
- */
-GSList*
-gtk_radio_button_get_group (GtkRadioButton *radio_button)
-{
-  GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button);
-
-  g_return_val_if_fail (GTK_IS_RADIO_BUTTON (radio_button), NULL);
-
-  return priv->group;
-}
-
-
-static void
-gtk_radio_button_dispose (GObject *object)
-{
-  GtkWidget *old_group_singleton = NULL;
-  GtkRadioButton *radio_button = GTK_RADIO_BUTTON (object);
-  GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button);
-  GSList *tmp_list;
-  gboolean was_in_group;
-
-  was_in_group = priv->group && priv->group->next;
-
-  priv->group = g_slist_remove (priv->group, radio_button);
-  if (priv->group && !priv->group->next)
-    old_group_singleton = priv->group->data;
-
-  tmp_list = priv->group;
-
-  while (tmp_list)
-    {
-      GtkRadioButton *tmp_button = tmp_list->data;
-      GtkRadioButtonPrivate *tmp_priv = gtk_radio_button_get_instance_private (tmp_button);
-
-      tmp_list = tmp_list->next;
-
-      tmp_priv->group = priv->group;
-    }
-
-  /* this button is no longer in the group */
-  priv->group = NULL;
-
-  if (old_group_singleton)
-    g_signal_emit (old_group_singleton, signals[GROUP_CHANGED], 0);
-  if (was_in_group)
-    g_signal_emit (radio_button, signals[GROUP_CHANGED], 0);
-
-  G_OBJECT_CLASS (gtk_radio_button_parent_class)->dispose (object);
-}
-
-static void
-gtk_radio_button_clicked (GtkButton *button)
-{
-  GtkRadioButton *radio_button = GTK_RADIO_BUTTON (button);
-  GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button);
-  GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (button);
-  GtkToggleButton *tmp_button;
-  GSList *tmp_list;
-
-  g_object_ref (GTK_WIDGET (button));
-
-  if (gtk_toggle_button_get_active (toggle_button))
-    {
-      tmp_button = NULL;
-      tmp_list = priv->group;
-
-      while (tmp_list)
-       {
-         tmp_button = tmp_list->data;
-         tmp_list = tmp_list->next;
-
-          if (tmp_button != toggle_button &&
-              gtk_toggle_button_get_active (tmp_button))
-           break;
-
-         tmp_button = NULL;
-       }
-
-      if (tmp_button)
-        gtk_toggle_button_set_active (toggle_button,
-                                      !gtk_toggle_button_get_active (toggle_button));
-    }
-  else
-    {
-      gtk_toggle_button_set_active (toggle_button,
-                                    !gtk_toggle_button_get_active (toggle_button));
-
-      tmp_list = priv->group;
-      while (tmp_list)
-       {
-         tmp_button = tmp_list->data;
-         tmp_list = tmp_list->next;
-
-         if (gtk_toggle_button_get_active (tmp_button) && (tmp_button != toggle_button))
-           {
-              g_signal_emit_by_name (tmp_button, "clicked");
-             break;
-           }
-       }
-    }
-
-  gtk_widget_queue_draw (GTK_WIDGET (button));
-
-  g_object_unref (button);
-}
diff --git a/gtk/gtkradiobutton.h b/gtk/gtkradiobutton.h
deleted file mode 100644 (file)
index d2922fd..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __GTK_RADIO_BUTTON_H__
-#define __GTK_RADIO_BUTTON_H__
-
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#include <gtk/gtkcheckbutton.h>
-
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_RADIO_BUTTON                 (gtk_radio_button_get_type ())
-#define GTK_RADIO_BUTTON(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_BUTTON, GtkRadioButton))
-#define GTK_IS_RADIO_BUTTON(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RADIO_BUTTON))
-
-
-typedef struct _GtkRadioButton GtkRadioButton;
-
-GDK_AVAILABLE_IN_ALL
-GType     gtk_radio_button_get_type         (void) G_GNUC_CONST;
-
-GDK_AVAILABLE_IN_ALL
-GtkWidget* gtk_radio_button_new                           (GSList         *group);
-GDK_AVAILABLE_IN_ALL
-GtkWidget* gtk_radio_button_new_from_widget               (GtkRadioButton *radio_group_member);
-GDK_AVAILABLE_IN_ALL
-GtkWidget* gtk_radio_button_new_with_label                (GSList         *group,
-                                                           const char     *label);
-GDK_AVAILABLE_IN_ALL
-GtkWidget* gtk_radio_button_new_with_label_from_widget    (GtkRadioButton *radio_group_member,
-                                                           const char     *label);
-GDK_AVAILABLE_IN_ALL
-GtkWidget* gtk_radio_button_new_with_mnemonic             (GSList         *group,
-                                                           const char     *label);
-GDK_AVAILABLE_IN_ALL
-GtkWidget* gtk_radio_button_new_with_mnemonic_from_widget (GtkRadioButton *radio_group_member,
-                                                           const char     *label);
-GDK_AVAILABLE_IN_ALL
-GSList*    gtk_radio_button_get_group                     (GtkRadioButton *radio_button);
-GDK_AVAILABLE_IN_ALL
-void       gtk_radio_button_set_group                     (GtkRadioButton *radio_button,
-                                                           GSList         *group);
-GDK_AVAILABLE_IN_ALL
-void            gtk_radio_button_join_group        (GtkRadioButton        *radio_button,
-                                                    GtkRadioButton        *group_source);
-G_END_DECLS
-
-#endif /* __GTK_RADIO_BUTTON_H__ */
index dee33baa5e0ee2c09f5a941f3935e6c3abdd6752..0f55ece382794bd549a5a0b7eab76fe769976681 100644 (file)
@@ -331,7 +331,6 @@ gtk_public_sources = files([
   'gtkprintsettings.c',
   'gtkprogressbar.c',
   'gtkpropertylookuplistmodel.c',
-  'gtkradiobutton.c',
   'gtkrange.c',
   'gtktreerbtree.c',
   'gtkrecentmanager.c',
@@ -610,7 +609,6 @@ gtk_public_headers = files([
   'gtkprintoperationpreview.h',
   'gtkprintsettings.h',
   'gtkprogressbar.h',
-  'gtkradiobutton.h',
   'gtkrange.h',
   'gtkrecentmanager.h',
   'gtkrender.h',